<?php
/**
 * 员工解析 Logic
 */

namespace app\common\logic;

use PhpOffice\PhpWord\IOFactory;

class StaffParseLogic {

    //解析文件
    static function fileParse($file) {
        try {
            return self::excelParse($file);

        } catch (\Exception $e) {
//            print_r($e);
//            exit;
            dolog(__METHOD__.'Error',[$e->getMessage(),$e->getLine(),$e->getFile()]);
            return [];
        }

    }

    static function excelParse($file) {
        $excel = \PHPExcel_IOFactory::load($file);
        // 获取当前活动的工作表
        $sheet = $excel->getActiveSheet();
        // 将工作表的数据转换为数组
        $arr = $sheet->toArray(null, true, true, false);
        array_shift($arr);
        $keys = array_filter(array_shift($arr));
        foreach ($arr as $index => $row) {
            $arr[$index] = array_combine($keys, array_slice($row, 0, count($keys)));
        }
        $dataList = [];
        $key=[
            '所属分公司'=>'company',
            '所属部门'=>'department',
            '所属分部门'=>'department_1',
            '姓名'=>'name',
            '性别'=>'gender',
            '岗位名称'=>'postname',
            '手机号'=>'mobile',
            '邮箱'=>'mailbox',
            '工作性质'=>'job_nature',
            '入职状态'=>'entry_status',
            '入职时间'=>'entry_time',
        ];
        foreach ($arr as $rows) {
            $data = [];
            $is_all_null = 0;
            foreach ($rows as $k => $row) {
                $data[$key[$k]] = $row??'';
                if($row){
                    $is_all_null = 1;
                }
            }
            if(!$is_all_null){
                continue;
            }
            $dataList[] = $data;
        }
        return $dataList;
    }


}